﻿using System;
using Microsoft.SharePoint.WebControls;

namespace MS.InformationManagement.WP.Layouts.MS.InformationManagement.WP
{
    public partial class GestionPerfiles : LayoutsPageBase
    {
        //#region Properties

        //public string Perfil { get; set; }
        //public IEnumerable<VincularPerfiles> EntidadesPerfiles { get; set; }
        //public List<ListItem> listAllRoles { get; set; }
        //public List<VincularPerfiles> ListRoleByPerfil { get; set; }
        //public List<ListItem> newRolList { get; set; }
        //public bool SuccedDelete { get; set; }
        //public bool SuccedUpdate { get; set; }
        //public bool SuccedCreate { get; set; }

        //#endregion

        //#region fields

        //GestionPerfilesPresenter _presenter;

        //#endregion


        //#region Form Events

        //protected override void OnInit(EventArgs e)
        //{
        //    base.OnInit(e);
        //    txtPerfil.Required(ExceptionConstants.ERROR_CAMPO_NULO, "ValBtnAddPerfil", AjaxControlToolkit.ValidatorCalloutPosition.BottomRight);
        //}

        protected void Page_Load(object sender, EventArgs e)
        {
            //try
            //{
            //    _presenter = new GestionPerfilesPresenter(this);
            //    if (IsPostBack) return;
            //    _presenter.HandleLoad();
            //}
            //catch (Exception ex)
            //{
            //    HandleError(ex);
            //}
          
        }

        //protected void rptPerfiles_ItemCommand(object source, RepeaterCommandEventArgs e)
        //{
        //    try
        //    {
        //        if (e.CommandName.ToLower().Equals("delete"))
        //        {
        //            RepeaterItem item = e.Item;
        //            CheckBox ChkBox = (CheckBox)item.FindControl("chkPerfil");
        //            Perfil = ChkBox.Text;
        //            _presenter.Delete();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        HandleError(ex);
        //    }
        //}

        //protected void rbPerfil_CheckedChanged(object sender, EventArgs e)
        //{
        //    try
        //    {
        //        CheckBox chkBx = (CheckBox)sender;
        //        foreach (RepeaterItem item in rptPerfiles.Items)
        //        {
        //            CheckBox allChkBox = (CheckBox)item.FindControl("chkPerfil");
        //            if (allChkBox.Text != chkBx.Text)
        //            {
        //                allChkBox.Checked = false;
        //            }
        //        }
        //        Perfil = chkBx.Text;
        //        UnCheckItems();
        //        _presenter.RequestRolesPerfil();
        //    }
        //    catch (Exception ex)
        //    {
        //        HandleError(ex);
        //    }
        //}

        //private void UnCheckItems()
        //{
        //    foreach (ListItem item in CheckBoxListRoles.Items)
        //    {
        //        item.Selected = false;
        //    }
        //}

        //protected void Action_Save(object sender, EventArgs e)
        //{
        //    try
        //    {
        //        newRolList = new List<ListItem>();
        //        foreach (RepeaterItem item in rptPerfiles.Items)
        //        {
        //            CheckBox allChkBox = (CheckBox)item.FindControl("chkPerfil");
        //            if (allChkBox.Checked == true)
        //            {
        //                Perfil = allChkBox.Text;
        //                foreach (ListItem itemRole in CheckBoxListRoles.Items)
        //                {
        //                    if (itemRole.Selected == true)
        //                    {
        //                        ListItem newItem = new ListItem();
        //                        newItem.Text = itemRole.Text;
        //                        newItem.Value = itemRole.Value;
        //                        newRolList.Add(newItem);
        //                    }
        //                }
        //                _presenter.Save();
        //            }
        //        }
                
        //    }
        //    catch (Exception ex)
        //    {
        //        HandleError(ex);
        //    }
        //}

        //protected void Action_Create(object sender, EventArgs e)
        //{
        //    try
        //    {
        //        Perfil = txtPerfil.Text;
        //        _presenter.Create();
        //    }
        //    catch (Exception ex)
        //    {
        //        HandleError(ex);
        //    }
        //}

        //#endregion
       

        //#region Implemented Methods

        //public void Show()
        //{
        //    rptPerfiles.DataSource = EntidadesPerfiles;
        //    rptPerfiles.DataBind();

        //    CheckBoxListRoles.DataSource = listAllRoles;
        //    CheckBoxListRoles.DataBind();

        //    UnCheckItems();
        //}

        //public void GetRolesPerfil()
        //{
        //    foreach (VincularPerfiles roles in ListRoleByPerfil)
        //    {
        //        foreach (ListItem item in CheckBoxListRoles.Items)
        //        {
                    
        //            if (item.Text == roles.TipoRole.Role)
        //            {
        //                item.Selected = true;
        //            }
        //        }
        //    }
        //}

        //public new event Presenter.Support.Events.ErrorHandler OnError;

        //public event Presenter.Support.Events.SuccessHandler OnSuccess;

        //#endregion
    }
}
